package ar.edu.utn.frba.disenio.gui;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.HorizontalLayout;
import org.uqbar.arena.layout.VerticalLayout;
import org.uqbar.arena.widgets.*;
import org.uqbar.arena.windows.MainWindow;
import ar.edu.utn.frba.disenio.application.model.BusquedaModel;
import ar.edu.utn.frba.disenio.model.Usuario;
import ar.edu.utn.frba.disenio.model.UsuarioEstandar;

@SuppressWarnings("serial")
public class AterrizarComWindow extends MainWindow<Usuario> {

    public AterrizarComWindow(Usuario model) {
		super(model);
	}

	@Override
    public void createContents(Panel mainPanel) {
		this.setTitle("Aterrizar.com");
        mainPanel.setLayout(new VerticalLayout());
        
        this.crearMensajeDeBienvenida();
        this.crearPanelDeBotones();
    }
    
	private void crearMensajeDeBienvenida(){
    	Panel unPanel = new Panel(this);
    	
    	unPanel.setLayout(new HorizontalLayout());
    	
        new Label(unPanel).setText("Hola");
        new Label(unPanel).bindValueToProperty("nombre");
        
        Panel otroPanel = new Panel(this);
        
        otroPanel.setLayout(new HorizontalLayout());
        
        new Label(otroPanel).setText("¿Qué desea hacer?");
    }
    
    private void crearPanelDeBotones() {
    	Panel unPanel = new Panel(this);
    	
		unPanel.setLayout(new HorizontalLayout());
		
        Button compras = new Button(unPanel);
        compras.setCaption("Ver Compras");
        compras.onClick(new MessageSend(this, "verCompras"));
        
        Button reservas = new Button(unPanel);
        reservas.setCaption("Ver Reservas");
        reservas.onClick(new MessageSend(this, "verReservas"));
        
        Button cerrar = new Button(unPanel);
        cerrar.setCaption("Buscar Asientos");
        cerrar.onClick(new MessageSend(this, "buscarAsientos"));
        
	}

    public void verCompras(){
    	ComprasWindow compras = new ComprasWindow(this, this.getModelObject());
    	compras.open();
    }
    
    public void verReservas(){
    	ReservasWindow reservas = new ReservasWindow(this, this.getModelObject());
    	reservas.open();
    }
    
    public void buscarAsientos(){
    	BuscarAsientosWindow buscarAsientos = new BuscarAsientosWindow(this, new BusquedaModel(this.getModelObject()));
    	buscarAsientos.createContents();
    	buscarAsientos.open();
    }

	public static void main(String[] args) {
		UsuarioEstandar usuario = new UsuarioEstandar("36688677", "Matias");
        new AterrizarComWindow(usuario).startApplication();
    }

}
